﻿using Modules.Project;
using System.ComponentModel.DataAnnotations;

namespace ManagementApi.Models.Project;

/// <summary>
/// 收入信息编辑表单
/// </summary>
public class ProjectGuaranteeIncomeEditForm
{
    /// <summary>
    ///
    ///</summary>
    [Display(Name = "Id")]
    public int? Id { get; set; }

    /// <summary>
    /// 项目Id
    ///</summary>
    [Display(Name = "项目Id")]
    public int? ProjectId { get; set; }

    /// <summary>
    /// 保证金缴纳信息Id
    ///</summary>
    [Display(Name = "保证金缴纳信息Id")]
    public int? GuaranteePaymentId { get; set; }

    /// <summary>
    /// 动用通知书文号
    /// </summary>
    [Display(Name = "动用通知书文号")]
    public string? NotificationLetter { get; set; }

    /// <summary>
    /// 收入编号
    ///</summary>
    [Display(Name = "收入编号")]
    public string? Code { get; set; }

    /// <summary>
    /// 交易类型(100：资金入账 102：代发工资 103：计息 104：手续费 105：其他)
    ///</summary>
    [Display(Name = "交易类型")]
    public 交易类型 TradingType { get; set; }

    /// <summary>
    /// 缴存类型（100：按预设比例缴存 101：免除保证金 102：减少保证金应交金额 103：缓缴保证金 104：增加保证金应缴金额）
    ///</summary>
    [Display(Name = "缴存类型")]
    public 缴存类型? DepositeType { get; set; }

    /// <summary>
    /// 收支方式(100：现金 101：银行保函 102：工程担保公司保函 103：工程保证保险 104：其它)
    ///</summary>
    [Display(Name = "收支方式")]
    public 收支方式? IncomeWay { get; set; }

    /// <summary>
    /// 收支金额
    ///</summary>
    [Display(Name = "收支金额")]
    public decimal? Amount { get; set; }

    /// <summary>
    /// 收支日期
    ///</summary>
    [Display(Name = "收支日期")]
    public DateTime? PayDate { get; set; }
}